1. Field
The present invention relates to an apparatus and a method of generating a multi-level test case from a unified modeling language (UML) sequence diagram (SD) based on a multiple condition control flow graph (MCCFG), capable of generating the multi-level test case for testing multi-software from the UML SD based on the MCCFG.
2. Description of the Related Art
It is absolutely necessary to test software in order to minimize a problem of the software. As quality of the software has become important, various and improved test methods have been required in a software field.
The reason is that as embedded systems and software systems, which are subjects performing a test of the software, have been changed from a single system into a heterogeneous complex system, a scale of the software has been gradually enlarged.
In addition, testing of the software should be changed from testing for an existing single system into testing for a heterogeneous complex system.
Therefore, many efforts to improve quality of the software have been gradually required.
The testing of the software is a very important step in improving the quality of the software. About 30 to 60% of a development cost is required for testing the software.
The testing of the software is an attempt to judge a defect of the software. In existing testing of the software, which is a final step in a process of developing the software, a traditional method of a software development fife cycle is applied.
However, in the case in which the testing of the software is applied in the final step, an additional cost may be incurred for developing the software, and a significant cost is also incurred for correcting a defect.
Therefore, in order to minimize an additional cost that may be incurred in developing steps of the software and increase reusability and extensibility for results calculated in each developing step, it is required to analyze requirements in each developing step, perform a design according to divided requirements in a design step, and extract a test case.
In this sense, an operation of generating a test case based on requirements is a very important operation in a test operation, determining quality of the software.
However, research into a method of generating the test case based on the requirements has not been sufficiently conducted. In addition, due to reasons such as an infinite input value, a path, a timing, and the like, it is impossible to perfectly perform the testing. That is, it is impossible to test all possibilities of the software except for extremely simple software.
Therefore, instead of perfectly performing the testing of the software, an effort to perform testing according to a priority has been focused.
The perfect testing has been considered in the case of developing software of a safety critical system, for example, space air, medical treatment, and the like, and is actually strong testing rather than the perfect testing.
Most of the generally software is not an object of the perfect testing. Therefore, an attempt to perfectly test the general software may be considered as an unnecessary waste of a time and a resource.
Therefore, according to the related art, a method of generating a test case by mixing several test methods with each other has been used.
However, the method of generating a test case by mixing several test methods with each other is complicated to make automation difficult, such that a cost required for testing the software is increased.